import Vue from "vue";
import Vuex from "vuex";
import axios from "axios";
import { BASE_URL } from "@/utils/api";

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    site: {},
    scrollPosition: 0,
  },
  getters: {},
  mutations: {
    getSite(state, val) {
      state.site = val;
    },
    getScrollPosition(state, val) {
      state.scrollPosition = val;
    },
  },
  actions: {
    // 异步请求站点信息并初始化
    fetchSiteInit(context) {
      axios
        .get(BASE_URL + "/index/site") // 完整接口地址 = baseURL + 接口路径
        .then((response) => {
          // 2. 接口成功：获取返回的站点数据（假设接口返回格式 { code: 200, data: { name: "...", domain: "..." } }）
          const siteData = response.data.data; // 根据实际接口返回结构调整！
          // 3. 触发 mutation，将数据赋值给 state.site
          context.commit("getSite", siteData);
        })
        .catch((error) => {
          // 4. 接口失败：捕获错误，设置默认值（避免组件因空对象报错）
          console.error("接口请求站点信息失败：", error);
        });
    },
  },
  modules: {},
});
